﻿<!DOCTYPE html>
<!----评估模板设置---->
<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="/static/js/common.js"></script>

    <title></title>
    <!-- 行内编辑 css-->
    <style>
        .tb-edit .el-input {
            display: none
        }

        .tb-edit .current-row .el-input {
            display: block
        }

            .tb-edit .current-row .el-input + span {
                display: none
            }

        .xian {
            display: block;
            text-align: center;
        }

        .yin {
            display: none;
            text-align: center;
        }

        .lineMust {
            position: absolute;
            right: 15px;
            bottom: 6px;
            bottom: 3px\0 !important;
            /* 兼容ie */
        }
    </style>
    <!-- 行内编辑 css-->
</head>

<body>

    <div id="app" v-cloak>
        <el-form label-position="right" ref="form" :inline="true" :model="formInline" class="demo-form-inline"
                 style="margin-bottom: 15px;">
            <el-row>
                <el-col class="head-tool">

                    <div class="new_title fl"><strong><img src="/static/images/icon1.png" />评估模板设置列表</strong></div>

                    <span>
                        <!--<btn :text="col.btnSelect" imgsrc="/static/images/search.png" linetype="3" @click="onSubmit">
                        </btn>-->
                        <btn :text="col.btnAdd" linetype="3" @click="add"></btn>
                        <btn-uploadfile-list :data="{data:formInline.model.CreateFactory+formInline.model.split+formInline.model.AssessmentID}" url="/api/JG_DutiesTemplate/Import"></btn-uploadfile-list>
                    </span>
                </el-col>
            </el-row>

            <el-row>

                <!--工厂组件-->
                <list-factorys v-model="formInline.model.CreateFactory" @change="onSubmit"></list-factorys>
                <el-col :xs="8" :sm="8" :md="8" :lg="6" :xl="6">
                    <!--评估类型-->
                    <div class="elst-select-mini">
                        <el-form-item>
                            <el-input size="mini">
                                <template slot="prepend">
                                    {{EvaTemplateSet.EvaType+mark.m}}
                                </template>
                                <el-select @visible-change="visibleChange" v-model="formInline.model.AssessmentID" slot="suffix"
                                           :placeholder="EvaTemplateSet.EvaType" @change="onSubmit">
                                    <el-option label="请选择" value=""></el-option>
                                    <el-option v-for="item in classification" :label="item.value" :value="item.id">
                                    </el-option>
                                </el-select>
                            </el-input>
                        </el-form-item>
                    </div>
                </el-col>


            </el-row>

        </el-form>


        <!--表格开始-->
        <el-table ref="table" stripe @current-change="tableHandleCurrentChange" class="tb-edit"
                  :data="ListItem.tableData" :row-key="getRowKeys" :height="ListItem.tableHeight" border
                  @selection-change="handleSelectionChange" row-style="height:10px" style="width: 100%;">
            <el-table-column type="selection" style="padding-top: 0px;padding-bottom: 0px;" align="center" width="55"
                             :reserve-selection="true">
            </el-table-column>


            <el-table-column type="index" :label="col.SequenceNumber" :index="indexMethod" width="50"
                             show-overflow-tooltip="true"></el-table-column>


            <!-- 行内编辑 html-->
            <!--评估内容-->
            <el-table-column :label="EvaTemplateSet.EvaContent">
                <template scope="scope">
                    <el-input size="mini" v-model="scope.row.assessmentContent" placeholder="请输入内容" @blur="handblur">
                    </el-input>
                    <span>{{scope.row.assessmentContent}}</span>
                    <span class="lineMust" v-if="scope.row.assessmentContent.length<=0">
                        <!-- 必填项添加 -->
                        <img src="/static/images/exclamation.png" alt="">
                    </span>
                </template>
            </el-table-column>
            <!--评估要点参考-->
            <el-table-column :label="EvaTemplateSet.EvaPointRef">
                <template scope="scope">
                    <el-input size="mini" v-model="scope.row.assessmentMainPoints" placeholder="请输入内容" @blur="handblur">
                    </el-input>
                    <span>{{scope.row.assessmentMainPoints}}</span>
                    <span class="lineMust" v-if="scope.row.assessmentMainPoints.length<=0">
                        <!-- 必填项添加 -->
                        <img src="/static/images/exclamation.png" alt="">
                    </span>
                </template>
            </el-table-column>
            <!--赋值分数-->
            <el-table-column :label="EvaTemplateSet.Score">
                <template scope="scope">
                    <el-input size="mini" v-model="scope.row.voluationNumber" placeholder="请输入内容" @blur="handblur">
                    </el-input>
                    <span>{{scope.row.voluationNumber}}</span>
                    <span class="lineMust" v-if="scope.row.voluationNumber.length<=0">
                        <!-- 必填项添加 -->
                        <img src="/static/images/exclamation.png" alt="">
                    </span>
                </template>
            </el-table-column>




            <el-table-column width="90" prop="update" :label="col.stWork">
                <template slot-scope="scope">
                    <span class="start xian">
                        <button type="button" class="elst-bt-xg" @click=Edit('xg',scope.row.id,scope.$index)>
                            <i class="el-icon-edit"></i>
                        </button>
                    </span>
                    <span class="end yin">
                        <button type="button" class="elst-bt-xg " @click="Save(scope.$index, scope.row)">
                            <i class="el-icon-circle-check-outline"></i>
                            <!-- 保存 -->
                        </button>
                        <button type="button" class="elst-bt-xg " @click="Back(scope.$index, scope.row)">
                            <i class="el-icon-circle-close-outline"></i>
                            <!-- 撤销 -->
                        </button>
                    </span>
                </template>
            </el-table-column>

            <!--行删除-->
            <el-table-column width="53" prop="delete" :label="col.btnDelete" fixed="right">
                <template slot-scope="scope">
                    <button type="button" class="elst-bt-xg" @click="onDeleteone('del',scope.row.id)">
                        <i class="el-icon-delete"></i>
                    </button>
                </template>
            </el-table-column>
        </el-table>




        <!--表格结束-->
        <!--分页开始-->
        <el-row type="flex" justify="end">


            <el-pagination ref="page" @size-change="handleSizeChange" @current-change="handleCurrentChange"
                           :current-page="ListItem.currentPage" :page-sizes="ListItem.pagesizes" :page-size="ListItem.pagesize"
                           :layout="ListItem.layout" :total="ListItem.total">
            </el-pagination>

        </el-row>
        <!--分页结束-->
        <el-dialog title="评估模板设置" :visible.sync="ListItem.dialogVisible" @close='closeDialog' width="80%" height="80%"
                   top="10vh">
            <iframe ref="iframe" :src="ListItem.InputUrl" style="height:95%;width:100%" frameborder="0"></iframe>
        </el-dialog>

    </div>

    <script type="text/javascript">
        var app = new Vue({
            el: '#app',
            data: {
                //行内编辑 添加内容设置
                Form: {
                    assessmentContent: '',
                    assessmentMainPoints: '',
                    voluationNumber: '',
                },

                //表单内容
                ListItem: ListItem,
                //获取下拉菜单
                classification: [],

                formInline: {
                    model: {
                        assessmentContent: '',
                        assessmentMainPoints: '',
                        voluationNumber: '',
                        AssessmentID: '',
                        CreateFactory: '',
                        split: '|'
                    },
                    offset: 0,
                    limit: 10
                }
            },
            mounted: function () {
                //初始化数据
                this.GetPageData(1);
                //列表高度自适应
                tablehigh(this);
                //获取下拉菜单内容
                this.getTypeList();
            },
            methods: {
                //解決edge下select bug
                visibleChange: function (isVisible) {
                    visibleChange(isVisible)
                },

                //获取评估类型
                getTypeList: function () {
                    var mythis = this;
                    myAjax("post", this, '/api/JG_DutiesTemplate/DicEvaTypeGetList', { model: { category: 'EVATYPE' }, offset: 0, limit: 100 }, function (response) {
                        mythis.classification = response.data;
                    }, false);
                },

                check: function (str) { return /^[1-9]([0-9])*$/.test(str); },
                // 行内编辑 js
                add: function (formName) {
                    if (this.formInline.model.AssessmentID == '') {
                        showMessage('必须选择评估类型!', 'error'); return;
                    }
                    if ($('tbody tr').attr("class") == "el-table__row current-row") {
                        showMessage(msg.EditingNotCompleted, 'error');
                    } else {
                        this.Form.assessmentContent = '';//添加是清空录入数据的，每一项都要有
                        this.Form.assessmentMainPoints = '';//添加是清空录入数据的，每一项都要有
                        this.Form.voluationNumber = '';//添加是清空录入数据的，每一项都要有

                        $('.el-table__row').removeClass('current-row');
                        $('.el-table__row span.end').removeClass('xian');
                        $('.el-table__row span.end').addClass('yin');
                        $('.el-table__row span.start').removeClass('yin');
                        $('.el-table__row span.start').addClass('xian');
                        this.ListItem.tableData.unshift(this.Form);
                        setTimeout(function () {
                            $('.el-table__row:eq(0)').addClass('current-row');
                            $('.el-table__row:eq(0) span.end').removeClass('yin');
                            $('.el-table__row:eq(0) span.end').addClass('xian');
                            $('.el-table__row:eq(0) span.start').removeClass('xian');
                            $('.el-table__row:eq(0) span.start').addClass('yin');
                        }, 100);
                    }
                },
                //修改
                Edit: function (val, id, index) {
                    $('.el-table__row').removeClass('current-row');
                    $('.el-table__row:eq(' + index + ')').addClass('current-row');
                    $('.el-table__row span.end').removeClass('xian');
                    $('.el-table__row span.end').addClass('yin');
                    $('.el-table__row span.start').removeClass('yin');
                    $('.el-table__row span.start').addClass('xian');
                    $('.el-table__row:eq(' + index + ') span.end').removeClass('yin');
                    $('.el-table__row:eq(' + index + ') span.end').addClass('xian');
                    $('.el-table__row:eq(' + index + ') span.start').removeClass('xian');
                    $('.el-table__row:eq(' + index + ') span.start').addClass('yin');
                },
                // 保存 注意去掉mock中的parent 否则无法保存
                Save: function (a, b) {
                    if (!b.assessmentContent) {
                        showMessage(msg.NoMust, 'error');
                    }
                    else if (!this.check(b.voluationNumber)) {
                        showMessage('赋值分数必须为正整数!', 'error');
                    }
                    else {
                        b.AssessmentID = this.formInline.model.AssessmentID;
                        b.CreateFactory = this.formInline.model.CreateFactory;
                        this.onSubmitForm('form', b);

                        $('.el-table__row').removeClass('current-row');
                        $('.el-table__row span.end').removeClass('xian');
                        $('.el-table__row span.end').addClass('yin');
                        $('.el-table__row span.start').removeClass('yin');
                        $('.el-table__row span.start').addClass('xian');
                        //初始化数据
                        this.GetPageData(1);
                        //setTimeout(this.GetPageData, 100);
                    }
                },
                Back: function (a, b) {
                    $('.el-table__row').removeClass('current-row');
                    $('.el-table__row span.end').removeClass('xian');
                    $('.el-table__row span.end').addClass('yin');
                    $('.el-table__row span.start').removeClass('yin');
                    $('.el-table__row span.start').addClass('xian');
                    this.ListItem.tableData.splice(a, 1);
                },
                onSubmitForm: function (formName, obj) {
                    var mythis = this;
                    this.$refs[formName].validate(function (valid) {
                        //验证通过
                        console.log(valid);
                        if (valid) {
                            onSubmitNoWindowsForm(this, '/api/JG_DutiesTemplate/Save', obj);
                        } else {
                            //验证失败
                            return false;
                        }
                    });
                },
                handblur: function () {
                    //this.$refs.table.setCurrentRow(999);
                    //console.log("c", 'c');
                },
                //table选中行handle
                tableHandleCurrentChange: function (currentRow) {
                    //this.currSeelctId = currentRow.id;
                    //this.currSeelctCell = currentRow;
                },
                // 行内编辑 js
                indexMethod: function (index) {
                    return (this.ListItem.currentPage - 1) * this.ListItem.pagesize + index + 1;
                },



                //关闭Dialog 回调
                closeDialog: function () { closeDialog(this); },
                //删除方法
                onDelete: function () { onDelete(this, '/api/JG_DutiesTemplate/DeleteMuti'); },
                //行删除
                onDeleteone: function (a, b) {
                    var abc = this;
                    this.$confirm(' 是否确认继续?', '提示', {
                        confirmButtonText: '确定',
                        cancelButtonText: '取消',
                        type: 'warning'
                    }).then(function () {
                        var delIds = [];
                        delIds.push(b);
                        var url = '/api/JG_DutiesTemplate/DeleteMuti';
                        myAjax("post", abc, url, delIds, function (response) {
                            abc.ListItem.currentPage = 1;
                            showMessage(msg.OperatingOk, "success");
                            console.log("删除成功");
                            app.GetPageData(1);
                        });
                    }).catch(function () {
                        showMessage("已取消删除!");
                    });

                },
                //列表选择触发
                handleSelectionChange: function (val) { handleSelectionChange(this, val); },
                //Dialog展示
                UserInput: function (val, id) { DialogShow(this, val, "ManageSystemCategoryInput.html", id); },
                //获取分页数据
                GetPageData: function (currentIndex) { GetPageData(this, currentIndex, '/api/JG_DutiesTemplate/GetList') },


                //查询方法
                onSubmit: function () { onSubmit(this); },
                //pagesize改变 触发方法
                handleSizeChange: function (val) { handleSizeChange(this, val); },
                //跳页触发方法
                handleCurrentChange: function (val) { handleCurrentChange(this, val); },

            }


        });


    </script>
</body>

</html>